<!DOCTYPE html>
<html lang="zh-cn">
  <head>
    <meta charset="utf-8" />
    <meta
      name="viewport"
      content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"
    />
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
    <title>Test</title>
  </head>
  <body>
    <!-- start -->
    <div>
      题目： https://leetcode.cn/problems/count-elements-with-strictly-smaller-and-greater-elements/description/
      <div>给你一个整数数组 nums ，统计并返回在 nums 中同时至少具有一个严格较小元素和一个严格较大元素的元素数目。</div>
    </div>
    <!-- end -->
  </body>
  <!-- js start -->
  <script type="text/javascript">
    /*******************************************************************************
     * 示例 1：
     * 输入：nums = [11,7,2,15]
     * 输出：2
     * 解释：元素 7 ：严格较小元素是元素 2 ，严格较大元素是元素 11 。
     * 元素 11 ：严格较小元素是元素 7 ，严格较大元素是元素 15 。
     * 总计有 2 个元素都满足在 nums 中同时存在一个严格较小元素和一个严格较大元素。
     *
     * 示例 2：
     * 输入：nums = [-3,3,3,90]
     * 输出：2
     * 解释：元素 3 ：严格较小元素是元素 -3 ，严格较大元素是元素 90 。
     * 由于有两个元素的值为 3 ，总计有 2 个元素都满足在 nums 中同时存在一个严格较小元素和一个严格较大元素。
     *
     *
     * 提示：
     * 1 <= nums.length <= 100
     * -105 <= nums[i] <= 105
     ******************************************************************************/

    /*******************************************************************************
     * 方法一：易读版本
     ******************************************************************************/
    () => {
      /**
       * @param {number[]} nums
       * @return {number}
       */
      var countElements = function (nums) {
        // 数字少于3个，肯定没有满足条件的数字
        if (nums.length < 3) return 0;

        const max = Math.max(...nums);
        const min = Math.min(...nums);

        let countVal = 0;
        nums.map((item) => {
          if (item !== max && item !== min) {
            countVal++;
          }
        });

        return countVal;
      };
    };
  </script>
</html>
